package comparacion;

import java.util.ArrayList;
import java.util.Collections;

public class Comparacion extends Graficos{

    public static void main(String[] args) {
        ArrayList<objetoSql> listado = new ArrayList();
        ArrayList<objetoSql> sqlIdem3C = new ArrayList();
        ArrayList<objetoSql> solosql = new ArrayList();
        ArrayList<objetoSql> solo3C = new ArrayList();
        ArrayList<objetoSql> susSql = new ArrayList();
        ArrayList<objetoSql> manSql = new ArrayList();
        ArrayList<objetoSql> reclamoSql = new ArrayList();
        
        Graficos g = new Graficos();
        Object[] w = {"Hola","columna del medio","chau"};
            for(int i=0; i<200; i++){
            g.setDtm(w);
        }
        
        
        
        
        sqlIdem3C.clear();
        solosql.clear();
        solo3C.clear();


       // ConnectSQLServer connServer = new ConnectSQLServer();
       // listado = connServer.dbConnect("jdbc:sqlserver://190.139.101.34", "swpro","swpro");
        
        ManejoArchivos compara = new ManejoArchivos();

        ArrayList<String> lista3C = compara.leer3Ctxt("3Cactivos.txt");        
        ArrayList<String> noFacturables3C = compara.leer3Ctxt("3CnoFacturables.txt");        
        ArrayList<String> internosNoFacturables3C = compara.leer3Ctxt("3Cinternosnofacturables.txt");        
        ArrayList<String> suspendidos3C = compara.leer3Ctxt("3Csuspendidos.txt");        
        //agrupacion de collections de todos los estados en una sola coleccion
        
        ArrayList<String> todos3C= new ArrayList<String>();
        for (String x : lista3C) {
            todos3C.add(x);
        }
        for (String x : noFacturables3C) {
            todos3C.add(x);
        }
        for (String x : internosNoFacturables3C) {
            todos3C.add(x);
        }
        String b ;
       
        for (String x : suspendidos3C) {            
            b= x + "\"SUS\"";
            todos3C.add(b);
        }
        
        Collections.sort(todos3C);
        Collections.reverse(todos3C);
        
        /*  busca del listado general del sql todos los moviles con "SUS", 
            los guarda en susSql pero los mantiene en listado. a su vez busca los
            codigos que poseen "MAN" y los guarda en mamSql*/
        
        for (int i = 0; i < listado.size(); i++) {
            
            if (listado.get(i).getVehi_textid().indexOf("\"SUS\"")!= -1) {
                susSql.add(listado.get(i));
            }else if (listado.get(i).getVehi_textid().indexOf("\"MAN\"")!= -1){
                manSql.add(listado.get(i));
            }
        }
        //Busca moviles identificados con reclamo
        for (int i = 0; i < listado.size(); i++) {
            
            if (listado.get(i).getVehi_color().indexOf("RECLAMO")!= -1) {
                reclamoSql.add(listado.get(i));
            }
        }
        
        String aux = null;
        String aux1 = null;
        boolean estado=false;
        
        int aux2 = 0;
        int puntero = 0;

        for (int i = 0; i < todos3C.size(); i++) {
            
            aux= todos3C.get(i);

            for (int j = 0; j < listado.size(); j++) {
                estado=false;
                aux1=listado.get(j).getVehi_textid();

                if (listado.get(j).getVehi_textid().indexOf(todos3C.get(i)) != -1) {

                    System.out.println("El string " + todos3C.get(i) + " es un substring de " + listado.get(j).getVehi_textid());
                    listado.get(j).setVehi_color(todos3C.get(i));
                    sqlIdem3C.add(listado.get(j));
                    //aux2 = lista3C.indexOf(lista3C.get(i));
                    todos3C.remove(i);
                    //aux2 = listado.indexOf(j);
                    listado.remove(j);
                    estado=true;
                    j = listado.size();
                    i--;
                }
            }
            if(estado){
                System.out.println("Codigo encontrado");
            }else{
                aux=aux;
                System.out.println("Codigo no hallado");
                }
            
        }
        int cont1=0;
        int cont2=0;
        int cont3=0;
        System.out.println("------- Coincidencias SQL y 3C -------");
            
        for (objetoSql c : sqlIdem3C) {
            System.out.println(c.getEmpr_nombre() + " " + c.getVehi_textid() + " " + c.getVehi_color());
            cont1++;
        }
        System.out.println("------- Solo en 3C -------");

        for (String clientes : todos3C) {
            System.out.println(clientes);
            cont2++;
        }
        System.out.println("------- Solo en SQL -------");
                
    }
}